package com.zdxlz.fcmp.common.log.config;

import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.zdxlz.fcmp.common.core.util.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

import java.io.IOException;

/**
 * @Description：IP配置类
 * @Auther：aman
 * @Date：2025/3/17 15:15
 */
@Slf4j
@Configuration
public class IpConfig {

    // 调用高德地图接口，开放者平台的key
    @Value("${gd.open.platform.key}")
    private String openPlatformKey;

    // 调用高德地图接口，通过IP获取省市区信息
    @Value("${gd.amap.ip.url}")
    private String ipReqUrl;

    /**
     * @Description：通过传入IP地址，获取对应的省市
     * @Auther：aman
     * @Date：2025/3/17 14:56
     */
    public JSONObject underIpGetAdress(String ip) {
        JSONObject adressJson = new JSONObject();
        adressJson.put("province", "");
        adressJson.put("city", "");
        String url = ipReqUrl + "?ip=" + ip + "&key=" + openPlatformKey;
        try {
            String result = HttpUtil.doGet(url);
            if (StrUtil.isBlank(result)) return adressJson;
            return JSON.parseObject(result);
        } catch (IOException | InterruptedException e) {
            log.error("解析IP地址发生异常，异常信息：{}", e.getMessage(), e);
            return adressJson;
        }
    }
}
